import jwt from "jsonwebtoken";
import { config } from "dotenv"; // Импортируем метод config из dotenv - подключает переменные среды.

// Подключаем переменные среды
config();
const jwtSecret = process.env.JWT_SECRET; // JWT секрет

// Обрабатываем запрос пользователя. Если определяем, что пользователь может получить доступ, тогда исполняем функцию next()
// декодируем токен пользователя методом jwt.verify()
export default (req, res, next) => {
	const token = req.headers.authorization;
	if (token) {
		try {
			const decoded = jwt.verify(token, jwtSecret);
			req.userId = decoded._id;
			next();
		} catch (e) {
			return res.status(403).json({ message: "Нет доступа!" });
		}
	} else {
		return res.status(403).json({ message: "Нет доступа!" });
	}
};
